package com.example.gui;

import javax.swing.*;

/**
 * 盒子布局示例
 */
public class BoxLayoutExample {
    /**
     * 主函数入口
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        // 创建一个框架，用于展示布局示例
        JFrame frame = new JFrame("BoxLayout Example");
        frame.setSize(400, 300); // 设置框架的大小
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作为退出程序

        // 创建一个面板，用于放置组件
        JPanel panel = new JPanel();
        // 为面板设置BoxLayout布局管理器，参数指示组件将沿Y轴（垂直方向）排列
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        // 添加按钮到面板
        panel.add(new JButton("Button 1"));
        // 添加一个垂直间隔，高度为10像素
        panel.add(Box.createVerticalStrut(10));
        panel.add(new JButton("Button 2"));
        panel.add(Box.createVerticalStrut(10));
        panel.add(new JButton("Button 3"));
        panel.add(Box.createVerticalStrut(10));
        panel.add(new JButton("Button 4"));

        // 将面板添加到框架中
        frame.add(panel);
        // 设置框架可见
        frame.setVisible(true);
    }
}
